home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / winsock / ircii2-6.zip / SRC\IRCII-2.6\INCLUDE\SERVER.H < prev    next >
C/C++ Source or Header  |  1994-12-28  |  4KB  |  130 lines

  1. /*
  2.  * server.h: header for server.c 
  3.  *
  4.  * Written By Michael Sandrof
  5.  *
  6.  * Copyright(c) 1990 
  7.  *
  8.  * See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT 
  9.  *
  10.  * @(#)$Id: server.h,v 1.8 1994/10/15 23:26:26 mrg Stab $
  11.  */
  12.  
  13. #ifndef _SERVER_H_
  14. #define _SERVER_H_
  15.   
  16. /*
  17.  * type definition to distinguish different
  18.  * server versions
  19.  */
  20. #define Server2_5    0
  21. #define Server2_6    1
  22. #define Server2_7    2
  23. #define Server2_8    3
  24. #define Server2_9    4
  25. #define Server2_10    5
  26.  
  27. /* Server: a structure for the server_list */
  28. typedef    struct
  29. {
  30.     char    *name;            /* the name of the server */
  31.     char    *itsname;        /* the server's idea of its name */
  32.     char    *password;        /* password for that server */
  33.     int    port;            /* port number on that server */
  34.     char    *nickname;        /* nickname for this server */
  35.     char    *away;            /* away message for this server */
  36.     int    operator;        /* true if operator */
  37.     int    version;        /* the version of the server -
  38.                      * defined above */
  39.     char    *version_string;    /* what is says */
  40.     int    whois;            /* true if server sends numeric 318 */
  41.     int    flags;            /* Various flags */
  42.     int    connected;        /* true if connection is assured */
  43.     int    write;            /* write descriptor */
  44.     int    read;            /* read descriptior */
  45.     pid_t    pid;            /* process id of server */
  46.     int    eof;            /* eof flag for server */
  47.     int    motd;            /* motd flag (used in notice.c) */
  48.     int    sent;            /* set if something has been sent,
  49.                      * used for redirect */
  50.     char    *buffer;        /* buffer of what dgets() doesn't get */
  51.     WhoisQueue    *WQ_head;    /* WHOIS Queue head */
  52.     WhoisQueue    *WQ_tail;    /* WHOIS Queue tail */
  53.     WhoisStuff    whois_stuff;    /* Whois Queue current collection buffer */
  54. }    Server;
  55.  
  56. typedef    unsigned    short    ServerType;
  57.  
  58. extern    void    add_to_server_list();
  59. extern    void    build_server_list();
  60. extern    int    connect_to_server();
  61. extern    void    get_connected();
  62. extern    int    read_server_file();
  63. extern    void    display_server_list();
  64. extern    char    *current_server_password();
  65. extern    int    server_list_size();
  66. # ifdef USE_STDARG_H
  67. extern    void    send_to_server(char *, ...);
  68. # else
  69. extern    void    send_to_server();
  70. # endif
  71. extern    int    get_server_whois __P((int));
  72.  
  73. extern    WhoisStuff    *get_server_whois_stuff();
  74. extern    WhoisQueue    *get_server_qhead();
  75. extern    WhoisQueue    *get_server_qtail();
  76.  
  77. extern    int    attempting_to_connect;
  78. extern    int    number_of_servers;
  79. extern    int    connected_to_server;
  80. extern    int    never_connected;
  81. extern    int    using_server_process;
  82. extern    int    primary_server;
  83. extern    int    from_server;
  84. extern    char    *connect_next_nick;
  85. extern    int    parsing_server_index;
  86.  
  87. extern    void    server();
  88. extern    char    *get_server_nickname();
  89. extern    char    *get_server_name();
  90. extern    char    *get_server_itsname();
  91. extern    void    set_server_flag();
  92. extern    int    find_in_server_list();
  93. extern    char    *create_server_list();
  94. extern    void    set_server_motd();
  95. extern    int    get_server_motd();
  96. extern    int    get_server_operator();
  97. extern    int    get_server_2_6_2();
  98. extern    int    get_server_version();
  99. extern    void    close_server();
  100. extern    void    MarkAllAway();
  101. extern    int    is_server_connected();
  102. extern    void    flush_server();
  103. extern    int    get_server_flag();
  104. extern    void    set_server_operator();
  105. extern    void    server_is_connected();
  106. extern    int    parse_server_index();
  107. extern    void    parse_server_info();
  108. extern    void    set_server_bits();
  109. extern    void    set_server_itsname();
  110. extern    void    set_server_version();
  111. extern    int    is_server_open();
  112. extern    int    get_server_port();
  113. extern    char    *set_server_password();
  114. extern    void    set_server_nickname();
  115. extern    void    set_server_2_6_2();
  116. extern    void    set_server_qhead();
  117. extern    void    set_server_qtail();
  118. extern    void    set_server_whois();
  119.  
  120. /* server_list: the list of servers that the user can connect to,etc */
  121. extern    Server    *server_list;
  122.  
  123. #define    SERVER_2_6_2    0x0001
  124. #define    USER_MODE_I    0x0002
  125. #define    USER_MODE_W    0x0004
  126. #define    USER_MODE_S    0x0008
  127. #define CLOSING_SERVER    0x0010
  128.  
  129. #endif /* _SERVER_H_ */
  130.